package com.okilo.online.app.lib.analyse

import android.app.Application
import com.okilo.online.app.lib.analyse.util.OkiloAdjUtil
import com.okilo.online.app.lib.analyse.util.OkiloAdvIdUtil
import com.okilo.online.app.lib.analyse.util.OkiloFireUtil
import com.okilo.online.app.lib.analyse.util.OkiloGoogleUtil

object OkiloAnalyseUtil {

    /**
     * 初始化分析模块
     *
     * @param context Application
     */
    fun init(context: Application) {
        /** 初始化google install referrer */
        OkiloGoogleUtil.init(context) {
            /** 保存渠道信息*/
            saveGoogleInstallInfo()
        }

        /** 初始化广告id */
        OkiloAdvIdUtil.init(context) { _, _ ->
            /** 保存渠道信息*/
            saveGoogleInstallInfo()
        }

        /** 初始化adjust信息 */
        OkiloAdjUtil.init(context)

        /* 初始化Firebase */
        OkiloFireUtil.init(context){ _, _ ->
            saveFirebaseInstallInfo()
        }
    }

    /**
     * 保存google s2s信息
     * **通常不用手动触发**
     * 1、启动页，触发保存
     */
    private fun saveGoogleInstallInfo() {
        OkiloGoogleUtil.saveS2sInfo()
    }

    /**
     * 保存Firebase s2s信息
     */
    private fun saveFirebaseInstallInfo(){
        OkiloFireUtil.submitFirebaseInfo()
    }

    /**
     * 获取谷歌安装渠道信息
     */
    fun getInstallReferrer(): String {
        return OkiloGoogleUtil.getInstallReferrer()
    }

    /**
     * 获取adId
     */
    fun getAdId(): String {
        return OkiloAdvIdUtil.getAdId()
    }

    /**
     * 获取adEnabled
     */
    fun getAdEnabled(): Int {
        return OkiloAdvIdUtil.getAdEnabled()
    }

    /**
     * 获取安卓Id
     */
    fun getAndroidId(): String {
        return OkiloAdvIdUtil.getAndroidId()
    }
}